#include <iostream>
#include "..\Modulos\Socios.h"


int main(){
float arancel = 100;
Socio * socn1= new Normal(55555555,"Norm1",80.0,30.0);          //100+80+30
Socio * socn2= new Normal(11111111,"Norm2",80.0,30.0);          //100+80+30
Socio * socn3= new Normal(77777777,"Norm3",80.0,20.0);          //100+80+20
Socio * socn4= new Normal(44444444,"Norm4",80.0,0.0);           //100+80
                                                                //=800
Fecha fech1(5,5,2010);
Fecha fech2(30,12,2009);
Fecha fech3(1,1,2011);
Fecha fech4(28,2,2010);
Fecha fech5(10,10,2013);

Socio * socb1= new Becado(22222222,"Bec1",80.0,1,fech1);        //100+24
Socio * socb2= new Becado(66666666,"Bec2",80.0,2,fech2);        //100+40
Socio * socb3= new Becado(33333333,"Bec3",80.0,3,fech3);        //100+24
Socio * socb4= new Becado(99999999,"Bec4",80.0,4,fech4);        //100+24
                                                                //=512

Socio * soce1= new Especial(88888888,"Esp1",80.0,1,fech5,20);   //100+40-20 //MAYOR FECHA VENCIMIENTO
Socio * soce2= new Especial(12345678,"Esp2",80.0,2,fech2,30);   //100+24-30
                                                                //=214

                                                                //=>1526
Socios socios;

    socios.insert(socn1);
    socios.insert(socn2);
    socios.insert(socn3);
    socios.insert(socn4);
    socios.insert(socb1);
    socios.insert(socb2);
    socios.insert(socb3);
    socios.insert(socb4);
    socios.insert(soce1);
    socios.insert(soce2);

    cout << "Verificacion de insercion del socio con ced 12345678 \n";
    if(socios.member(12345678)){
        cout << "El socio fue insertado correctamente entonces lo obtengo y listo su Nombre: \n";
        socios.find(12345678)->getNombre().print();
    }else
        cout << "El socio NO fue insertado correctamente\n";

    cout << "\n\nLa recaudacion total = " << socios.recaudacion(arancel);

    cout << "\n\n";

    Iterador * Iter;
    Iter =socios.listadoSocios();

    bool habia;
    Socio * becMayor;
    socios.becadoMayorVencimiento(becMayor,habia);
    if(!habia)
        cout << "\nNo habia becados en el diccio\n";
    else{
        cout << "\nEl Becado con mayor fecha de vencimiento es:";
        becMayor->getNombre().print();
    }

    cout << "\n\n\n\n";
    return 0;
}
